<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>/package element</title>
<title>CMSIS-Pack: /package element</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="printComponentTabs.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 46px;">
  <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">CMSIS-Pack
   &#160;<span id="projectnumber">Version 1.6.0</span>
   </div>
   <div id="projectbrief">Delivery Mechanism for Software Packs</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<div id="CMSISnav" class="tabs1">
    <ul class="tablist">
      <script type="text/javascript">
		<!--
		writeComponentTabs.call(this);
		//-->
      </script>
	  </ul>
</div>
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('pdsc_package_pg.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">/package element </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The basic package information captures the package vendor, the package name, a brief description of the package, and the schema version. Additional elements support the logistics of handling packages. The url specifies the origin of the description. It may be left empty if the pack will not be uploaded onto a web server. A license file might point to license agreements. A list of keywords assists searching for packages.</p>
<p><b>Example:</b> </p>
<div class="fragment"><div class="line">&lt;<span class="keyword">package </span>schemaVersion=&quot;1.4&quot; xmlns:xs=&quot;http:<span class="comment">//www.w3.org/2001/XMLSchema-instance&quot; xs:noNamespaceSchemaLocation=&quot;PACK.xsd&quot;&gt;</span></div>
<div class="line">  &lt;vendor&gt;ExampleVendor&lt;/vendor&gt;</div>
<div class="line">  &lt;name&gt;STM32F2xx_DFP&lt;/name&gt;                                                       &lt;!-- name of package --&gt;</div>
<div class="line">  &lt;description&gt;Device Family Package for STMicroelectronics STM32F2 Family of Arm Cortex-M3 based Microcontroller&lt;/description&gt;</div>
<div class="line">  &lt;url&gt;&lt;/url&gt;</div>
<div class="line">  &lt;supportContact&gt;http:<span class="comment">//www.arm.com/support&lt;/supportContact&gt;</span></div>
<div class="line">  &lt;license&gt;./END_USER_LICENCE_AGREEMENT.rtf&lt;/license&gt;</div>
<div class="line">  &lt;releases&gt;</div>
<div class="line">    &lt;release version=&quot;1.0.0&quot; date=&quot;2014-12-14&quot;&gt;</div>
<div class="line">      First Release version of STM32F2 Device Family Pack.</div>
<div class="line">    &lt;/release&gt;</div>
<div class="line">    &lt;release version=&quot;0.9.0&quot;&gt;</div>
<div class="line">      Beta version of STM32F2 Device Family Pack.</div>
<div class="line">    &lt;/release&gt;</div>
<div class="line">  &lt;/releases&gt;</div>
<div class="line">        </div>
<div class="line">  &lt;keywords&gt;                                                                  &lt;!-- keywords for indexing --&gt;</div>
<div class="line">    &lt;keyword&gt;ST&lt;/keyword&gt;</div>
<div class="line">    &lt;keyword&gt;Device Support&lt;/keyword&gt;</div>
<div class="line">    &lt;keyword&gt;Device Family Package ST&lt;/keyword&gt;</div>
<div class="line">    &lt;keyword&gt;STM32F2&lt;/keyword&gt;</div>
<div class="line">    &lt;keyword&gt;STM32F2xx&lt;/keyword&gt;</div>
<div class="line">  &lt;/keywords&gt;</div>
<div class="line">        </div>
<div class="line">  &lt;taxonomy&gt;                                                                  &lt;!-- class and group descriptions --&gt;</div>
<div class="line">    &lt;description Cclass=&quot;Board Support&quot;&gt;</div>
<div class="line">      Generic Interfaces and Templates for Evaluation and Development Boards</div>
<div class="line">    &lt;/description&gt;</div>
<div class="line">  &lt;/taxonomy&gt;</div>
<div class="line">  ...</div>
<div class="line">&lt;/package&gt;</div>
</div><!-- fragment --> <p>&#160;</p>
<h1><a class="anchor" id="element_package"></a>
/package</h1>
<table  class="cmtable" summary="Root Element: Package">
<tr>
<th>Parent Element </th><th colspan="3">Element Chain  </th></tr>
<tr>
<td>root </td><td colspan="3">Document root  </td></tr>
<tr>
<th>Attributes </th><th>Description </th><th>Type </th><th>Use  </th></tr>
<tr>
<td>schemaVersion </td><td>CMSIS-PDSC schema version used for describing the <a class="el" href="cp_SWComponents.html">Software Pack</a> (for example, <span class="XML-Token">"1.2"</span>). The version format is described in <a class="el" href="pdsc_package_pg.html#VersionType">Version Type</a>. </td><td>VersionType </td><td>required  </td></tr>
<tr>
<td>xmlns:xs </td><td>Is set to: <span class="XML-Token">"http://www.w3.org/2001/XMLSchema-instance"</span> to indicate compliance to the XML format. </td><td>xs:decimal </td><td>required  </td></tr>
<tr>
<td>xs:noNamespaceSchemaLocation </td><td>Path and file name of the PACK.xsd Schema. For example, <span class="XML-Token">"PACK.xsd"</span>. </td><td>xs:string </td><td>required  </td></tr>
<tr>
<td>Dcore </td><td>Pack only used for a specific processor core. Use predefined values as listed in the table <a class="el" href="pdsc_family_pg.html#DcoreEnum">Device Cores</a>. Note: do not apply for packs that define a device </td><td>DcoreEnum </td><td>optional  </td></tr>
<tr>
<td>Dvendor </td><td>Pack only used for a specific silicon vendor of the device. Use predefined values as listed in the table <a class="el" href="pdsc_family_pg.html#DeviceVendorEnum">Device Vendor</a>. Note: do not apply for packs that define a device </td><td>DeviceVendorEnum </td><td>optional  </td></tr>
<tr>
<td>Dname<b>*</b> </td><td>Pack only used for a specific name of the device. Note: do not apply for packs that define a device </td><td>xs:string </td><td>optional  </td></tr>
<tr>
<td>Tcompiler </td><td>Pack only used for a specific compiler toolchain (ARMCC, GCC, IAR, Tasking, ...). Use predefined values as listed in table <a class="el" href="pdsc_conditions_pg.html#CompilerEnumType">Compiler Types</a>. </td><td>CompilerEnumType </td><td>optional  </td></tr>
<tr>
<th>Child Elements </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>name </td><td>Name of the <a class="el" href="cp_SWComponents.html">Software Pack</a>. Could be displayed by an installer. </td><td>xs:string  </td><td>1..1   </td></tr>
<tr>
<td>vendor </td><td>Name of the supplier or vendor of the <a class="el" href="cp_SWComponents.html">Software Pack</a>. </td><td>xs:string  </td><td>1..1   </td></tr>
<tr>
<td>description </td><td>Brief description of the <a class="el" href="cp_SWComponents.html">Software Pack</a>. </td><td>xs:string  </td><td>1..1   </td></tr>
<tr>
<td>url </td><td><a href="https://en.wikipedia.org/wiki/Uniform_resource_locator" target="_blank">HTTP URL</a> or <a href="https://en.wikipedia.org/wiki/File_URI_scheme" target="_blank">file URI</a> location of the <a class="el" href="cp_SWComponents.html">Software Pack</a>. The URL can be used by installers for downloading, updating, or checking versions. If left empty, the Pack cannot be updated automatically from a server location. </td><td>xs:anyURI  </td><td>1..1   </td></tr>
<tr>
<td>supportContact </td><td>HTTP URL or e-mail address for users to get support for the content of the Pack </td><td>xs:string </td><td>0..1   </td></tr>
<tr>
<td>license </td><td>Path to a license document. </td><td>xs:string  </td><td>0..1   </td></tr>
<tr>
<td><a class="el" href="element_dominate.html">dominate</a> </td><td>dominate </td><td>A pack that has <a class="el" href="element_dominate.html">dominate</a> attribute overrules other packs that provide devices, APIs, or software components with the same name. </td><td><em>empty</em>   </td></tr>
<tr>
<td><a class="el" href="element_requirements_pg.html#element_requirements">requirements</a> </td><td>Specifies other CMSIS-Packs, programming languages and compiler as well as their respective version or version range required by the components in this pack.  </td><td>RequirementsType </td><td>0..1   </td></tr>
<tr>
<td>create </td><td>Use only when creating CMSIS software projects. Refer to <a class="el" href="cpdsc_pg.html">Project Description (*.cpdsc) Format</a> for details. </td><td>CreateType </td><td>0..1   </td></tr>
<tr>
<td><a class="el" href="element_repository.html">repository</a> </td><td>URL of a public repository the pack originates from. </td><td>xs:anyURI </td><td><p class="starttd">0..1  </p>
<p class="endtd"></p>
</td></tr>
<tr>
<td><a class="el" href="element_releases.html">releases</a> </td><td>Version release history with brief information about a <a class="el" href="cp_SWComponents.html">Software Pack</a>. </td><td>ReleasesGroup </td><td>1..1   </td></tr>
<tr>
<td><a class="el" href="element_keywords.html">keywords</a> </td><td>Defines keywords that might be used to find a <a class="el" href="cp_SWComponents.html">Software Pack</a>. Keywords may be also exported to web page to provide information for search engines, such as Google. </td><td>group </td><td>0..1   </td></tr>
<tr>
<td><a class="el" href="pdsc_generators_pg.html#element_generators">generators</a> </td><td>Specifies generator tools that have been used to create the <a class="el" href="cp_SWComponents.html">Software Pack</a>. </td><td>GeneratorsType </td><td>0..1   </td></tr>
<tr>
<td><a class="el" href="pdsc_devices_pg.html#element_devices">devices</a> </td><td>Defines the device family, the devices, and optionally variants (such as boards). </td><td>group </td><td>0..1   </td></tr>
<tr>
<td><a class="el" href="pdsc_boards_pg.html#element_boards">boards</a> </td><td>Defines the development board support package. </td><td>BoardsType </td><td>0..1   </td></tr>
<tr>
<td><a class="el" href="element_taxonomy.html">taxonomy</a>  </td><td>Contains the description for a component class or for the combination between a component class and component group.  </td><td>TaxonomyType </td><td>0..1   </td></tr>
<tr>
<td><a class="el" href="pdsc_apis_pg.html#element_apis">apis</a> </td><td>Defines the API (Application Programming Interfaces) specifications contained in the <a class="el" href="cp_SWComponents.html">Software Pack</a>. </td><td>ApisType </td><td>0..1   </td></tr>
<tr>
<td><a class="el" href="pdsc_conditions_pg.html#element_conditions">conditions</a> </td><td>Is a group that contains dependency definitions used within the Pack. These rules can describe dependencies on various levels: device attributes, components, or tools. Conditions are referenced by components and files. </td><td>ConditionsType </td><td>0..1   </td></tr>
<tr>
<td><a class="el" href="pdsc_examples_pg.html#element_examples">examples</a> </td><td>Lists the examples that are included in the Pack. </td><td>group </td><td>0..1   </td></tr>
<tr>
<td><a class="el" href="pdsc_components_pg.html#element_components">components</a> </td><td>Lists the software components that are included in the Pack. </td><td>group </td><td>0..1   </td></tr>
</table>
<p><b>*)</b> Wild-cards can be used to match names with the following definitions:</p>
<ul>
<li>'*' matches any substring</li>
<li>'?' matches any single character</li>
<li>[abc] matches any character in the set (a,b,c)</li>
</ul>
<p>&#160;</p>
<p><a class="anchor" id="VersionType"></a><b>Version Type</b></p>
<p>CMSIS-Pack version specification is inspired by the <a href="http://semver.org" target="_blank">Semantic Versioning 2.0.0</a>. Under this scheme, version numbers and the way they are incremented convey a meaning about the underlying content quality and the significance of changes from one version to the next. A version consists of 3 mandatory and 2 optional sections:</p>
<div class="fragment"><div class="line">MAJOR.MINOR.PATCH[-Pre Release][+Build Metadata]</div>
</div><!-- fragment --><ol type="1">
<li><b>MAJOR:</b> increment MAJOR for backwards incompatible changes<ul>
<li>non-negative integer</li>
<li>0 indicates initial development, unstable and anything may change at any time <div class="fragment"><div class="line">ARM.CMSIS.0.9.0.pack  &lt;  ARM.CMSIS.1.0.0.pack</div>
</div><!-- fragment --></li>
</ul>
</li>
<li><b>MINOR:</b> increment MINOR for backwards compatible additions and changes<ul>
<li>non-negative integer</li>
<li>accepted: &ndash; trailing zeros are accepted but effectively ignored for version comparison <div class="fragment"><div class="line">ARM.CMSIS.1.02.0.pack  equal to  ARM.CMSIS.1.2.0.pack</div>
</div><!-- fragment --></li>
</ul>
</li>
<li><b>PATCH:</b> increment PATCH for bug fixes not affecting compatibility<ul>
<li>non-negative integer</li>
<li>accepted:<ul>
<li>trailing zeros are accepted but effectively ignored for version comparison</li>
<li>a version ending after MINOR without specifying PATCH. In this case PATCH == 0 is assumed. <div class="fragment"><div class="line">ARM.CMSIS.1.1.pack equal to ARM.CMSIS.1.1.0.pack</div>
</div><!-- fragment --></li>
</ul>
</li>
</ul>
</li>
<li><em>pre release:</em> the optional pre-release string must start with a hyphen ('-') immediately after the <em>PATCH</em> and consists of a series of dot separated ASCII alphanumerics and hyphen ([0-9A-Za-z-]).<ul>
<li>accepted: the pre-release string immediately following the PATCH without a hyphen if the first item is a character. <div class="fragment"><div class="line">ARM.CMSIS.4.3.0-alpha.1</div>
</div><!-- fragment --></li>
</ul>
</li>
<li><em>build metadata:</em> the optional build metadata must be denoted by appending a plus sign ('+') and a series of dot separated identifiers. Identifiers comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]+. Two versions that differ only in the build metadata, have the same precedence. <div class="fragment"><div class="line">ARM.CMSIS.4.3.0-alpha.1+build.102   </div>
</div><!-- fragment --></li>
</ol>
<p>The above is extending the recommendation that was given in previous version of this specification.:</p>
<p>Version types are used in:</p>
<ul>
<li><a class="el" href="pdsc_package_pg.html#element_package">/package</a> (attribute: <em>schemaVersion</em>)</li>
<li><a class="el" href="element_releases.html#element_release">/package/releases/release</a> (attribute: <em>version</em>)</li>
<li><a class="el" href="pdsc_apis_pg.html#element_api">/package/apis/api</a> (attribute: <em>Capiversion</em>)</li>
<li><a class="el" href="pdsc_conditions_pg.html#element_accept">/package/conditions/condition/accept</a> (attributes: <em>Capiversion</em> and <em>Cversion</em>)</li>
<li><a class="el" href="pdsc_components_pg.html#element_bundle">/package/components/bundle</a> (attribute: <em>Cversion</em>)</li>
<li><a class="el" href="pdsc_components_pg.html#element_component">/package/components/.../component</a> (attributes: <em>Capiversion</em> and <em>Cversion</em>)</li>
<li><a class="el" href="pdsc_examples_pg.html#element_example">/package/examples/example</a> (attribute: <em>version</em>)</li>
<li><a class="el" href="pdsc_examples_pg.html#element_example_attribute_component">/package/examples/example/attributes/component</a> (attribute: <em>Cversion</em>)</li>
</ul>
<p><b>Example:</b> this example applies to <a class="el" href="element_releases.html#element_release">/package/releases/release</a>. </p>
<div class="fragment"><div class="line">&lt;release version=<span class="stringliteral">&quot;1.4.2-RC2&quot;</span> ...&gt;</div>
</div><!-- fragment --><p>&#160;</p>
<hr/>
 </div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="packFormat.html">Pack Description (*.pdsc) Format</a></li>
    <li class="footer">Generated on Wed Jul 10 2019 15:21:00 for CMSIS-Pack Version 1.6.0 by Arm Ltd. All rights reserved.
	<!--
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 
	-->
	</li>
  </ul>
</div>
</body>
</html>
